动态对象跟随 |
您所在的位置:网站首页 › ros 路径跟随 › 动态对象跟随 |
教程步骤
0- 创建行为树
让我们从这个简单的行为树开始。该行为树以1赫兹的频率重新规划新路径,并将该路径传递给控制器进行跟随: 首先,让我们让这个行为一直运行,直到出现故障。为此,我们将使用``KeepRunningUntilFailure``控制节点。 然后,我们将使用修饰器“GoalUpdater”来接受我们要跟随的动态物体姿态的更新。该节点以当前目标作为输入,并订阅主题“/goal_update”。如果在该主题上接收到新目标,它将将新目标设置为“updated_goal”。 为了保持与目标的一定距离,我们将使用动作节点``TruncatePath``。该节点会修改路径,使其变短,以便我们不会试图进入感兴趣的对象。我们可以使用输入端口``distance``来设置到目标的期望距离。 现在,您可以保存这个行为树并在我们的导航任务中使用它。 供您使用的确切行为树可以在``nav2_bt_navigator``包中找到,链接在`此处 `_。 1- 设置 Rviz 点击点我们将使用RViz而不是完整的应用程序,这样您就可以在家中进行测试,而无需找到一个探测器来开始。我们将使用工具栏上的“clicked point”按钮,用来替代对象检测,以向Nav2提供目标更新。该按钮允许您在主题``/clicked_point``中发布坐标。这个点需要通过程序``clicked_point_to_pose``发送到行为树,从`此存储库 `_中获取。在您的工作空间中克隆此存储库,构建并在终端中输入命令。 ros2 run nav2_test_utils clicked_point_to_pose 可选地,您可以在rviz配置文件中重新映射此主题为``goal_updates``。 2- 在Nav2仿真中运行动态物体跟随在一个终端中启动Nav2: ros2 launch nav2_bringup tb3_simulation_launch.py default_bt_xml_filename:=/path/to/bt.xml 打开RViz,在初始化机器人位置后,命令机器人导航到任意位置。使用点击点按钮模拟对感兴趣对象的新检测,如本教程开头的视频所示。 当你的检测器以更高的频率(1 Hz、10 Hz、100 Hz)检测到障碍物时,你将看到一个更具反应性的机器人跟随你检测到的感兴趣的物体! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |